[小ネタ]Raspberry Piをコマンドラインでセットアップしてみた
Raspberry Piを設定するために使用するraspi-configコマンドをコマンドラインで実行し、Raspberry Piをヘッドレスでセットアップする方法についてご紹介します。
はじめに
データアナリティクス事業本部の藤川です。
Raspberry Piを使ったことがあれば、一度は実行していると思います。Raspberry Piを設定するために使用するraspi-config
コマンドがあります。
CUIでもカーソルキーで項目を移動して設定変更できる、割とリッチなUIが提供されています。
このraspi-config
コマンドですが、引数にnonint
を付けて実行すると、コマンドラインで実行できることが分かりました!
今回は、raspi-config
コマンドをコマンドラインで実行し、Raspberry Piをヘッドレスでセットアップする方法についてご紹介します。
やってみた
Raspberry Pi OSの起動方法
CLIブートを有効化
- CLIブートを有効化します。
sudo raspi-config nonint do_boot_behaviour B1
- リブートします。
sudo reboot
GUIブートを有効化
- GUIブートを有効化します。
sudo raspi-config nonint do_boot_behaviour B3
- リブートします。
sudo reboot
確認方法
- CLIブートかGUIブートか確認します。
raspi-config nonint get_boot_cli
状態 返却値 CLIブートの場合 0 GUIブートの場合 1
カメラ
有効化
- カメラを有効化します。
sudo raspi-config nonint do_camera 0
- リブートします。
sudo reboot
無効化
- カメラを無効化します。
sudo raspi-config nonint do_camera 1
- リブートします。
sudo reboot
確認方法
- 接続されているカメラが有効か確認します。
raspi-config nonint get_camera
状態 返却値 カメラが有効な場合 0 カメラが無効な場合 1
I2C
有効化
- I2Cを有効化します。
sudo raspi-config nonint do_i2c 0
- 次のエラーが表示されますが、無視して構いません。
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/5.4.79+/modules.dep.bin' modprobe: FATAL: Module i2c-dev not found in directory /lib/modules/5.4.79+
- リブートします。
sudo reboot
無効化
- I2Cを無効化します。
sudo raspi-config nonint do_i2c 1
- リブートします。
sudo reboot
確認方法
- I2Cが有効か確認します。
raspi-config nonint get_i2c
状態 返却値 I2Cが有効な場合 0 I2Cが無効な場合 1
参考
こちらのリポジトリ(GTK version of raspi-config)の「rc_gui/src/rc_gui.c」を開くと、次のような記述があります。
他にも多くの設定を扱えますのでお試しください。
/* Command strings */ #define GET_CAN_EXPAND "raspi-config nonint get_can_expand" #define EXPAND_FS "raspi-config nonint do_expand_rootfs" #define GET_HOSTNAME "raspi-config nonint get_hostname" #define SET_HOSTNAME "raspi-config nonint do_hostname %s" #define GET_BOOT_CLI "raspi-config nonint get_boot_cli" #define GET_AUTOLOGIN "raspi-config nonint get_autologin" #define SET_BOOT_CLI "raspi-config nonint do_boot_behaviour B1" #define SET_BOOT_CLIA "raspi-config nonint do_boot_behaviour B2" #define SET_BOOT_GUI "raspi-config nonint do_boot_behaviour B3" #define SET_BOOT_GUIA "raspi-config nonint do_boot_behaviour B4" #define GET_BOOT_WAIT "raspi-config nonint get_boot_wait" #define SET_BOOT_WAIT "raspi-config nonint do_boot_wait %d"